Reporting System

SUMMARY

The Reporting System of ALPHA-VISION® offers information about the conditions of the running system in a structured and clearly arranged form.

CONTENTS

  1. Introduction
  2. Set up of a list
  3. Cursor-Types
  4. EVENTLOG
  5. Filter
  6. Sorting
  7. Printing
  8. Hints & Tips

Introduction

The Reporting System of ALPHA-VISION® offers information for the user in a structured and clearly arranged form; the information is taken from the "_EVENTLOG.dbf" file .

Basicly the information ist structured according to:


That structure may be refined and sorted using various options.

The presentation in list form leads to lucid overview.

Example of a report list:



Set up of a list

A list consists of:


The created figure is placed in an application area with a defined Header, than labeled as Entryfield and duplicated as often as wanted. All Entryfields are combined and labeled as Listbox. The cursor type defines the information taken from the Event-Log for displaying.

The cursor type defines the List-Type:

Cursor-Types

The following types are possible:

Event Cursor
<Crsr_OpenEvnt()> (connects to the database _EVENTLOG.dbf)

An unfiltered Event List will display the history of all system events occurred until the actual point of time.
Via filters and sorting that list might be qualified.

Alarm Cursor
<Crsr_OpenAlarm()> (connects to the database _EVENTLOG.dbf)

An unfiltered Alarm List will display all actual failures.
Via filters and sorting that list might be qualified.

Objekt Cursor
<Crsr_OpenObj()> (connects to the database _EVENTLOG.dbf)

An unfiltered Object List will display all objects of the system.
Via filters and sorting that list might be qualified.

Sektions Cursor
<Crsr_OpenSd()> (connects to the database _EVENTLOG.dbf)

A Section lists all Data Objects of a Section showing its actual state.

Cursor for dBase compatible Tables - - - - - - special case
<Crsr_OpenCstm()> (connects to a defined database)

It connects, different to the other cursors, to a defined dBase Database. The columns of the database are pictured as columns in the list box.

EVENTLOG

Usually any information for the reporting system is taken from that file called “_EVENTLOG.dbf”. (exceptions are specified)

The ALPHA-VISION® Visu System works event orientated; i.e. only a change in state is recorded. Data Objects are carriers of the information. At the time when a project is created it is defined whether the change in state of an Object is written to the event log or not.

The event log is designed as a ring buffer and is stored in the runtime environment.
The size of the file is defined in the configuration file <*.cfg> in the register: <Default> below "Archive size".
The maximum size is 1 GB, that are about 3.448.270 Data records.
(one Data record got 290 bytes; 1 x header=512 bytes)

Via the add on program <ZipArchives> the event log can be saved in defined time slices.
In that way a complete "history" of events may be archived.

Filter

Dependent on the properties of Data Objects any list may be filtered.

Properties of Data Objects see:



For possible filters see all <Flt_*> jobs listed below actions.

Sorting

The order of lines in a list may be modified by sort criteria.

For possible sort orders see all <Sort_*> jobs listed below actions.

Printing

Lists may be printed the following way:



For the printout you need print forms.
If, according to colors and lines per page, no difference is wanted to the display on the screen, you may use the screen page as a print form.

To be able to print, a System Object “_PRINT” with arbitrary description must exist. (if not – create it)

Hints & Tips

For not bother about printer names when creating the technology pictures we suggest to create a System Object for any existing printer e.g. <PRINTER1>, <PRINTER2> and set the description to the actual printer name.

A print job might be look alike:

Obj_QueryAttr(PRINTER1,Description);   (asks for the printername of PRINTER1)
Usr_PushArgs();                           (pushes the printer name to the stack)
Usr_PrintPage(Form,,0)                    (the missing parameter -printer- is 
                                           taken from the stack)                                           wird vom Stack gelesen.
	

Print complete list
All pages of the list in question are printed.

Usually the complete page of paper should be filled when a printout is initiated.
To adjust the printout to the paper size of your printer you have to create a print form that got the proper width (X) and the length (Y) to take the number of lines wanted.
In syntax and buildup the print forms are identical to that for the screen.

Note:
Due to different numbers of lines per page on the screen and the printout, the page numbers will differ too.

Page-wise - Continuous printout
Print page-wise continuously means:
As soon as enough "new" lines turned up to fill a complete page, the page is printed.
Note:
Should be a printout initiated prior the page is filled it can be done via:
Usr_ForcePrint.